I'm going to read the matrix.
There's no quiz today.
It's postponed to Thursday morning.
They changed latex overnight
and that uncovered a very deep bug in our backend pipeline.
Even though Dennis fixed that half an hour ago
it's based on Rust
and Rust has a very
optimizing compiler
so it takes about one and a half hours to compile the whole thing
which means there's no quiz today.
Are there any questions?
So we were talking about Prolog as a programming language
and we kind of started getting into
the programming features.
Right in the beginning
I tried to sell you on this story that is sometimes called declarative
programming
or in other words
we only have to say what the program is supposed to do
and backtracking search actually does it for you.
And that is correct.
For instance
for addition
multiplication
and exponentiation
we just need to say what
the operations of addition
multiplication
and exponentiation do on zeros and successors
and the rest is being done.
If you look at these things here and kind of switch before your inner eye
the functional
and the relational kind of versions
these are exactly the same defining equations we
had on the slides in the beginning.
Those are the things you learn typically.
Those are the inductive definitions of plus.
Here they become recursive predicates.
But other than that, this is just specification.
It can work so well that we can do it for other things as well.
The Fibonacci numbers
we just write the defining equations.
The zero Fibonacci number is one
the second one is also one
and then you get the next
Fibonacci number by adding up the last two.
Just the specification.
You don't have to say for i equals something to something
do this and that and so on.
Presenters
Zugänglich über
Offener Zugang
Dauer
01:29:48 Min
Aufnahmedatum
2025-11-04
Hochgeladen am
2025-11-06 00:10:06
Sprache
en-US